package priv.menguer.singleton;

/**
 * @Title Singleton5.java
 * @description 杩�绉��瑰��借揪�板��妫����瑰�涓��风������锛�浣�瀹��版�寸������瀵归������浣跨�ㄥ欢杩���濮���锛�搴�浣跨�ㄨ�绉��瑰���涓�����妫����瑰���
 *              <p>
 *              杩�绉��瑰������ㄤ������������碉���妫����瑰����ㄥ��渚�����瑕�寤惰���濮����朵娇�ㄣ��
 *              </p>
 *              杩�绉��瑰����峰�╃�ㄤ� classloader �哄�舵�ヤ�璇���濮��� instance �跺����涓�涓�绾跨�锛�瀹�璺�绗� 3 绉��瑰�涓�������锛�绗� 3 绉��瑰���瑕� Singleton
 *              绫昏�瑁�杞戒�锛��ｄ� instance 灏变�琚�瀹�渚���锛�娌℃��杈惧�� lazy loading ����锛�锛���杩�绉��瑰��� Singleton 绫昏�瑁�杞戒�锛�instance
 *              涓�涓�瀹�琚���濮�������涓� SingletonHolder 绫绘病��琚�涓诲�ㄤ娇��锛�������杩��惧�璋��� getInstance �规��讹���浼��惧�瑁�杞� SingletonHolder
 *              绫伙�浠���瀹�渚��� instance���宠薄涓�涓�锛�濡���瀹�渚��� instance 寰�娑���璧�婧�锛���浠ユ�宠�╁��寤惰���杞斤���澶�涓��归��锛���涓�甯����� Singleton
 *              绫诲��杞芥�跺氨瀹�渚���锛���涓轰��界‘淇� Singleton 绫昏����藉�ㄥ�朵����版�硅�涓诲�ㄤ娇�ㄤ���琚���杞斤��ｄ�杩�涓��跺��瀹�渚��� instance
 *              �剧�舵��涓���������杩�涓��跺��锛�杩�绉��瑰��告��绗� 3 绉��瑰�灏辨�惧�寰�������
 * @time 2018骞�10��25�� 涓���5:31:18
 * @author menguer@126.com
 * @version 1.0
 */
public class Singleton5 {
	private static class SingletonHolder {
		private static final Singleton5 INSTANCE = new Singleton5();
	}

	private Singleton5() {
	}

	public static final Singleton5 getInstance() {
		return SingletonHolder.INSTANCE;
	}
}
